#include <iostream>
using namespace std;

int main(){
  int T;
  cin>>T;
  while(T--){
    int a, b;
    cin>>a>>b;
    if(a == b){
      cout<<0;
    }else if(a > b){
      if(b % 2 == a % 2){
        cout<<1;
      }else{
        cout<<2;
      }
    }else{
      if(b % 2 != a % 2){
        cout<<1;
      }else{
        cout<<2;
      }
    }
    cout<<endl;
  }
  return 0;
}

/*

题目描述
给两个数a、b，可以对a进行如下的操作：a = a + x，x是任意的大于0的奇数， a = a - y, y是任意的大于0的偶数。可以执行任意次数以上的操作。

问从a变成b最少需要几次操作？

输入说明
第一行输入一个整数T，代表测试样例数目。 1 <= T <= 30000

接下来T行每一行输入两个整数a， b。 1 <= a, b <= 1000000000

输出说明
对于每一个样例的答案占一行，输出从a变成b的最小操作次数。

输入样例复制
5

2 3

10 10

2 4

7 4

9 3

输出样例复制
1

0

2

2

1

数据范围提示
对于第一个样例，你只需要对a 加上1。

对于第二个样例，你不需要任何操作。

对于第三次样例，你可以对a加两次1。

对于第四个样例，你可以先对a加上1，再对a减去4。

对于第五个样例，你可以直接减去6。

*/